package kr.pe.johnkim.carrotpoint.mobile.dao;

import kr.pe.johnkim.carrotpoint.mobile.domain.CarrotPointMerchantStock;

import java.util.List;

/**
 * Carrot Point 가맹점(입점업체) 상품 관련 dao 인터페이스 이다.
 *
 * @author : John_Kim <cale9797@gmail.com>
 * @date : 13. 2. 1.
 */
public interface CarrotPointMerchantStockDao {

    /**
     * 가맹점(입점업체) 상품을 등록 한다.
     *
     * @param carrotPointMerchantStock
     */
    public void registerMerchantStock(CarrotPointMerchantStock carrotPointMerchantStock);

    /**
     * 가맹점(입점업체) 상품 목록을 가져 온다.
     *
     * @param carrotPointMerchantStock
     * @return
     */
    public List<CarrotPointMerchantStock> getMerchantStockList(CarrotPointMerchantStock carrotPointMerchantStock);

    /**
     * 모든 가맹점(입점업체) 전체 상품 목록을 가져 온다.
     *
     * @param carrotPointMerchantStock
     * @return
     */
    public List<CarrotPointMerchantStock> getTotalMerchantStockList(CarrotPointMerchantStock carrotPointMerchantStock);

    /**
     * 가맹점(입점업체) 상품 내용을 가져 온다.
     *
     * @param carrotPointMerchantStock
     * @return
     */
    public CarrotPointMerchantStock getMerchantStockInformation(CarrotPointMerchantStock carrotPointMerchantStock);

    /**
     * 가맹점(입점업체) 상품 내용을 수정 한다.
     *
     * @param carrotPointMerchantStock
     */
    public void updateMerchantStockInformation(CarrotPointMerchantStock carrotPointMerchantStock);

    /**
     * 가맹점(입점업체) 상품을 비활성화 한다.
     *
     * @param carrotPointMerchantStock
     */
    public void updateDeactivateMerchantStock(CarrotPointMerchantStock carrotPointMerchantStock);

    /**
     * 모든 가맹점(입점업체) 상품 검색 목록을 가져 온다.
     *
     * @param carrotPointMerchantStock
     * @return
     */
    public List<CarrotPointMerchantStock> getSearchMerchantStockList(CarrotPointMerchantStock carrotPointMerchantStock);
}
